The present invention relates to searching a network for information. In particular, the present invention relates to search tools used in searching the Internet.
Computer networks connect large numbers of computers together so they may share data and applications. Examples include Intranets that connect computers within a business or institution and the Internet, which connects computers throughout the world.
A single computer can be connected to both an Intranet and the Internet. In such a configuration, the computer can use data and applications found on any of its own storage media such as its hard disc drive, its optical drive, or its tape drive. It can also use data and applications located on another computer connected to the Intranet or Internet. Given the large number of locations from which a computer can extract data and the increasing amount of storage capacity at each of these locations, users have found it increasingly difficult to isolate the information they desire.
In recent years, users have begun to use search engines to help them search the Internet. Typically, search engines accept a search query from the user and then look for the search query""s terms in an indexed list of terms. The indexed list is generated by parsing text found on individual Internet pages and indexing the text by the page""s Uniform Resource Locator (URL).
To search their indexed lists, different search engines use different techniques. As such different search engines are optimized using different query structures. Some search engines are optimized to accept free-text queries, which are in the form of normal sentences, a few keywords, or questions. Others are optimized to accept queries with logical operators such as xe2x80x9cANDxe2x80x9d and xe2x80x9cORxe2x80x9d.
Because of the confusing number of search engines available, users generally do not know how to formulate their search query to maximize the performance of a particular search engine. In particular, users have difficulty constructing searches using the logical operators required by many search engines.
In addition, users tend to include ambiguities in their search query that often lead to unwanted search results. Examples of this include search queries with vague references to time and confusing uses of coordinating phrases.
The art also lacks a search tool that provides a search query history to the user. Therefore, if a search is interrupted or if a path of a search ends at a xe2x80x98dead-endxe2x80x99, the user has no means for retracing their search steps.
A method for improving computer searching includes receiving a search query provided by a user and locating an ambiguity in the query that affects its optimization. The method also provides for requesting additional information from the user to clarify the text of the search query.
Some embodiments of the present invention include a method for retrieving a first search query from a user, searching based on the first search query, and storing the first search query so that it can be redisplayed to the user later. In some embodiments, a plurality of past search queries is stored and upon receiving a command from the user is displayed to the user.
Embodiments of the present invention also include retrieving a free text search query from a user and generating a logical search query from the free text search query. The constructed logical search query includes at least one logical operator that describes the relationship between two input terms in the user""s free text query. The logical operator is constructed based on the parts of speech of the two input terms.
Other embodiments of the present invention modify the search query based on the scope of the search or on natural language parse data.